34.8 Windows Service 部署
34.8.1 关于 Windows Service
Windows Service 是微软 Windows 操作系统中的一种核心组件,它是一个独立于用户登录状态的后台进程,设计用于提供持续性、系统级的功能或执行预定任务。
Windows Service 是一个长时间运行的应用程序,可以在系统启动时自动启动,并在没有用户登录的情况下持续运行。它们不会显示用户界面(UI),而是通过服务控制管理器(Service Control Manager, SCM)与操作系统进行交互。
34.8.2 关于 NSSM
NSSM 是一个 Windows 服务封装程序,它可以将普通 exe 程序或者 .bat 脚本封装成 Windows 服务一样运行。
官网地址:http://nssm.cc/
下载地址:nssm-2.24.zip(免安装)
34.8.3 发布网站
- 选择解决方案启动项并右键选择发布
2. 选择发布到文件夹
3. 设置发布后目录
4. 编辑发布配置
5.根据需求选择发布配置,通常默认即可
6. 点击发布

34.8.4 配置服务器 .NET 环境
单文件/独立发布如果选择单文件/独立发布模式,那么可以选择跳过当前小节。
- 安装.NET Core 运行时捆绑包:点击下载
- 打开
PowerShell或CMD执行以下命令
net stop was /y
net start w3svc
set ASPNETCORE_ENVIRONMENT=Production
34.8.5 创建网站服务
34.8.5.1 .exe 方式
推荐使用 .bat 方式.exe 方式配置 dotnet 参数不够灵活(如配置启动端口),推荐使用 【34.8.5.2 - .bat 方式】,该方式可以利用 dotnet 命令进行自由配置。
PowerShell 方式使用 CMD 终端只需输入 nssm 即可,若使用 PowerShell 则需要通过 ./nssm.exe 方式。
- 打开
NSSM下载目录并进入win64目录,在当前目录打开PowerShell或CMD,通过nssm创建服务:
nssm install MyProject
MyProject 表示你网站或者要创建的服务名称,该服务名称将显示在 Windows Service 服务列表中。
2. 启动网站服务
nssm start MyProject
3. 打开 http://localhost:5000 访问
默认情况下,打开 .exe 文件初始端口为 5000。

34.8.5.2 .bat 方式(推荐)
.bat 方式支持通过 dotnet 命令启动网站,而且支持配置更多参数。
- 在发布后的网站目录下创建
MyProject.txt文件并写入以下内容
pushd "C:\Workspace\TestPublish"
dotnet Furion.Web.Entry.dll --urls=http://0.0.0.0:8089
pause
pushd "C:\Workspace\TestPublish"为发布文件的目录-
dotnet Furion.Web.Entry.dll --urls=http://0.0.0.0:8089为dotnet启动命令,如可以指定端口 -
修改
MyProject.txt后缀名为MyProject.bat。 - 打开
NSSM下载目录并进入win64目录,在当前目录打开PowerShell或CMD,通过nssm创建服务:
nssm install MyProject
MyProject 表示你网站或者要创建的服务名称,该服务名称将显示在 Windows Service 服务列表中。
4. 启动网站服务
nssm start MyProject
5. 打开 http://localhost:8089 访问

34.8.6 删除服务
要删除服务先停止服务后再删除:
nssm stop MyProject
nssm remove MyProject

34.8.7 NSSM 常见命令
- 安装服务:
nssm install 服务名 - 删除服务:
nssm remove 服务名 - 删除服务确定:
nssm remove 服务名 confirm - 修改服务(显示界面修改):
nssm edit 服务名 - 启动服务:
nssm start 服务名 - 停止服务:
nssm stop 服务名 - 重启服务:
nssm restart 服务名
更多命令请参考官网说明:https://nssm.cc/commands
34.8.8 打开 Windows Service 管理
打开 运行(Win + r)输入 services.msc 并回车。

34.8.9 反馈与建议
与我们交流给 Furion 提 Issue。